---
title: Latest policy period effective date
summary: Returns the effective date of a policy's latest period.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Business.Policy
reference_type: package
operation_id: op-04-max-policy-effective-date
trigger: Caller invokes MaxPolicyEffectiveDate
---

# Latest policy period effective date

Returns the effective date of a policy's most recent policy period.

| Field | Value |
| --- | --- |
| **Operation ID** | op-04-max-policy-effective-date |
| **Trigger** | Caller invokes `MaxPolicyEffectiveDate` |
| **Inputs** | `IDataPortalInfo`, policy number |
| **Outputs** | `Date` |
| **Primary components** | `PolicyInformation.MaxPolicyEffectiveDate` |
| **Entry point** | SAIF.Business.Policy/PolicyInformation.vb |

## Steps

1. Get a portal request via `DAL.GetPortalRequest(inDPI.PortalID)`.
2. Construct a new `IDataRequest` (`CommandType.Text`, `DataRequestType.Scalar`, `ID = GetCurrentMethod.Name`).
3. Assign `SQL.PolicyEffectiveDate` ([SQL-008](../sql/SQL-008-policy-effective-date.md), table [POLICY_PERIOD](../database-tables.md#policy_period); correlated `MAX(policy_period_eff_date)` subquery — [BR-POL-009](../business-rules.md#br-pol-009-policy-effective-date-derivation)).
4. Bind `in_policy_num`.
5. Call `DAL.ProcessPortalRequest` and return `CDate(DataRequest.Result)`.

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start(["Caller invokes<br>MaxPolicyEffectiveDate"]) --> A["Get portal request via<br>DAL.GetPortalRequest"]
	A --> B["Construct new IDataRequest<br>(Text, Scalar)"]
	B --> C["Assign SQL.PolicyEffectiveDate"]
	C --> D["Bind in_policy_num"]
	D --> E["Call DAL.ProcessPortalRequest"]
	E --> End(["Return<br>CDate(DataRequest.Result)"])
```

## Failure and edge-case behavior
- A `NULL`/absent result causes `CDate` to throw (unhandled).*

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

## Sources
- `SAIF.Business.Policy/PolicyInformation.vb`
